<h5>Comunicando el hardware Wiring y Perl</h5>
<p>Este tutorial presenta la comunicaci&oacute;n b&aacute;sica entre el hardware Wiring y Perl <a href="http://www.perl.org/">http://www.perl.org/</a>. El objetivo principal del tutorial ser&aacute; enviar datos a la tarjeta Wiring, la tarjeta Wiring leer&aacute; el dato y encender&aacute; o pagar&aacute; el LED de la tarjeta respectivamente. Se asume que el software Wiring y Perl est&aacute;n instalados y los ajustes apropiados de Wiring han sido completados. Para m&aacute;s informaci&oacute;n acerca de la instalaci&oacute;n de Wiring revise los <a href="http://wiring.org.co/learning/tutorials/">tutoriales</a> sobre la instalaci&oacute;n y los ajustes del software.</p>
<p>En este tutorial, el IDE utilizado es Eclipse <a href="http://www.eclipse.org/">http://www.eclipse.org/</a>con EPIC <a href="http://www.epic-ide.org/">http://www.epic-ide.org/</a> como editor de Perl.</p>
<h5>Paso 1</h5>
<p>Copie y pegue el siguiente c&oacute;digo en el editor Wiring: Verifique que su programa est&eacute; libre de errores de compilaci&oacute;n presionando el bot&oacute;n Compile/Verify en la barra de men&uacute;. Presione el bot&oacute;n Upload en la barra de men&uacute;. En caso de un error de sintaxis el entorno Wiring imprimir&aacute; el mensaje de error de otro modo imprimir&aacute; que la carga se ha completado satisfactoriamente, el proceso de carga activar&aacute; los LEDs Rx/Tx en el hardware Wiring. El nuevo programa empezar&aacute; autom&aacute;ticamente despu&eacute;s de la carga. Use el bot&oacute;n Serial Monitor para ver los datos entrantes desde la tarjeta Wiring, luego cierre el Serial Monitor otra vez.</p>
<pre>
/**
 * Simple Read/ Perl
 * 
 * Read data from the serial port and turn ON the onboard LED if
 * the character received is an 'a'
 * For the Wiring boards v1 the on-board LED is on pin 48, 
 * on Wiring S the on-board LED is on pin 15.
 */

int data; // to read the char

void setup() {
  Serial.begin(9600);
  pinMode(WLED, OUTPUT);
}

void loop() {
  if(Serial.available()) {      // if data available
    data = Serial.read();       // read data
    if(data == 'H') {           // if value read is character 'a'
      digitalWrite(WLED, HIGH); // turn ON the onboard LED
    } else {
      digitalWrite(WLED, LOW);  // if not turn it OFF
    }
  }
  delay(100); // wait 100ms for next read
}
</pre>
<p>&nbsp;</p>
<h5>Paso 2</h5>
<p>Descargue e Instale el paquete Device::SerialPort de Perl usando Terminal o Command Prompt en Windows. Use las siguientes l&iacute;neas de c&oacute;digo para realizar la instalaci&oacute;n. </p>
<pre>
perl -MCPAN -e shell
install Device::SerialPort
exit</pre>
<h5>Paso 3</h5>
<p>Cree un nuevo proyecto Perl en Eclipse. Copie y pegue el siguiente c&oacute;digo en el editor.</p>
<pre>
#!/usr/bin/perl
use Device::SerialPort;

# Set up the serial port
# Change the port
my $port = Device::SerialPort->new("/dev/tty.usbserial-A100DNHF");
# Change the baudrate if you need it
$port->baudrate(9600);
$port->databits(8);
$port->parity(10);
$port->stopbits(1);

sleep(4);

while (1) {
	$port->write('H');
	sleep(1);
	$port->write('L');
	sleep(1);
}</pre>
<h5>Paso 4</h5>
<p>Compile el proyecto y el LED de la tarjeta deber&aacute; parpadear cada segundo.</p>
